1. Field of the Invention
The present invention relates to the field of mobile devices and Web Form interfaces and, more particularly, to an enhancement for handling repeated data items in a Web form interface.
2. Description of the Related Art
XForms is a markup language specified by the World Wide Web Consortium (W3C) that is based upon an Extensible Markup Language (XML). XForms uses a Model-View-Controller approach to separate data logic of a form from its presentation. Data logic is handled by an XForms model and presentation is handled by an XForms user interface. An XForms model holds instance data and associated constraints. Instance data is an internal representation of data of the XForms model. An XForms model can hold more than one data instance. In other words, the XForms model defines what a form is, what data a form should contain, and how the data of a form should be handle.
In XForms, presentation is handled by an XForms user interface or other compatible user interface, such as a XML user interface configured to interoperate with an XForms model. That is, an XForms user interface handles the display and input of data. It should be noted that the term “XForms user interface” shall be used generically throughout this application to represent any XForms compliant user interface.
The XForms specification allows for the definition of repeating structures such as repeating rows of related information pulled from a database. An XForms “repeat” structure can include the elements for repeat, item set, copy, insert, delete, set index, and the like. The repeat element defines a user interface mapping over a homogeneous collection selected by node set binding attributes. The node-set must consist of a set of contiguous child element nodes, with the same local name and namespace name of a common parent node.
Having provided a basic overview of conventional XForms terminology, a common use of XForms based technologies shall now be provided to illustrate a potential problem existing with conventionally implemented XForms solutions. It should be noted that this problem and its presented solution are not limited to XForms based technologies, but apply generally to conventionally implemented Web forms. The XForms based examples are provided for descriptive purposes only and one of ordinary skill can easily adapt the examples to other Web form technologies.
Web forms are often used to display repeated information, such as data items of a homogeneous collection obtained from a database source. For example, a shopping cart Web form can include a number of items to be checked out or purchased. Users often want to interact with the repeated information presented in the Web form. A user may wish to update a quantity of an item in the shopping cart, to remove one or more item from the cart, to add new items to the cart and the like. After the user manipulates the list representing shopping art items, this list is sent to a back-end system, such as a database system, for further processing.
Current solutions for repeated data conforming to the XForms specification require a table of repeated information be created with separate triggers for each row or item. Each trigger can be selected to perform a desired action. This solution, however, requires multiple user actions to select multiple records. The solution also consumes display space, which can be problematic for small displays, such as those on mobile devices.
To illustrate, FIG. 1 shows a prior art XForms compliant solution for an employee table. In FIG. 1, axle 110 can be used to generate interface 150. As noted in the code 110, each repeated line includes an XForms trigger For even a simple repeated set, processing a moderate amount of XML code for the triggers is necessary, which can consume resources such as memory and bandwidth.
In interface 150, the triggers from code 110 are associated with submit buttons 155. It can be readily appreciated that adding additional buttons per row, such as a delete button (not shown), will quickly consume display space, which can be highly detrimental since tabular display space is often at a premium. Space constraints are often overcome by using a scrolling display screen, which can be difficult to read. Space is even more constrained when small displays are used, such as displays of a mobile computing device. Using interface 150 or a similar one, submitting, deleting, or otherwise manipulating multiple rows of repeated information can be cumbersome, especially when excessive screen scrolling is required. Further, when multiple rows need to be manipulated, multiple user actions are required. Additionally, the selectors appearing in conventional XForms compliant interfaces for repeated data are hard coded into a user interface, making it difficult for a user or developer to customize an appearance and/or a behavior of the interface.